home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 February / EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso / earcd / program / gtld3656.lha / GadUtil / Install < prev    next >
Text File  |  1995-09-15  |  24KB  |  965 lines

  1. ;--------------------------- Current version.revision ----------------------
  2. (set vernum (getversion "libs:gadutil.library"))
  3.  
  4. (set thisvernum (getversion "libs/gadutil.library"))
  5. (set thisver (/ thisvernum 65536))
  6. (set thisrev (- thisvernum (* thisver 65536)))
  7.  
  8. ;-------------------------------- Debugging... -----------------------------
  9. ;(set thisver 36)
  10. ;(set thisrev 54)
  11. ;(set thisvernum (+ thisrev (* thisver 65536)))
  12. ;(set @default-dest "ram:")
  13.  
  14. ;---------------------- All strings in the script --------------------------
  15.  
  16. (set #install-msg        "Installing GadUtil.library...")
  17.  
  18. (set #info-msg     (cat    "\n\nGadUtil installation script.\n"
  19.                         ("This script installs GadUtil %ld.%ld on your system.\n\n" thisver thisrev)
  20.                         "Read the docs for more information on the\n"
  21.                         "distribution and for use in commercial or\n"
  22.                         "other non-free programs.\n\n"
  23.                         "GadUtil is Copyright © 1994-1995 by\n"
  24.                         "P-O Yliniemi and Staffan Hämälä.\n"
  25.                         "All rights reserved."))
  26.  
  27. (set #usertype-msg (cat "\n\nTo make it as easy as possible to install this\n"
  28.                         "product on your computer, you have now the chance\n"
  29.                         "to select what 'kind' of user you class yourself as.\n"
  30.                         "When you have done this selection, the installation\n"
  31.                         "process will go much smoother, since you may not have\n"
  32.                         "to change too much of the presets.\n\n"
  33.                         "Don't overuse this function, since you'll wear out\n"
  34.                         "your mouse buttons if you select that you are a pro,\n"
  35.                         "if you actually are a lamer!!!\n"))
  36.  
  37. (set #selusertype-msg    "Select the user type closest to yourself")
  38. (set #usertype1-msg        "Minimal installation (library only)")
  39. (set #usertype2-msg        '"Normal" user (library + some docs)')
  40. (set #usertype3-msg        "Assembly language programmer")
  41. (set #usertype4-msg        "'C' language programmer")
  42. (set #usertype5-msg        "Assembly & 'C' language programmer")
  43. (set #usertype6-msg        "GadUtil library author / ßeta tester")
  44.  
  45. (set #whatinstall-msg    "Which part(s) do you want to install?")
  46. (set #userpart-msg        "User installation...")
  47. (set #develpart-msg        "Developer installation...")
  48.  
  49. (set #useroptions-msg    "Select which user file(s) to install")
  50. (set #useroption1-msg    "The library file (replaces old version)")
  51. (set #useroption2-msg    "User documentation")
  52. (set #useroption3-msg    "Aminet .readme file")
  53.  
  54. (set #developtions-msg    "Select which development file(s) to install")
  55. (set #develoption1-msg    "Developer documentation...")
  56. (set #develoption2-msg    "Include files...")
  57. (set #develoption3-msg    "Example programs...")
  58. (set #develoption4-msg    "Catalog creation utilities...")
  59. (set #develoption5-msg    "Extra commands...")
  60. (set #develoption6-msg    "Other...")
  61.  
  62. (set #develdocs-msg        "Select which document(s) to install")
  63. (set #develdocs1-msg    "Autodocs (text format)")
  64. (set #develdocs2-msg    "Autodocs (AmigaGuide format)")
  65. (set #develdocs3-msg    "Autodocs for private functions")
  66. (set #develdocs4-msg    "Separate doc files for every function")
  67. (set #develdocs5-msg    "Development history (English)")
  68. (set #develdocs6-msg    "Development history (Swedish)")
  69. (set #develdocs7-msg    "List with all GadTools tags")
  70.  
  71. (set #develinc-msg        "Select which include file(s) to install")
  72. (set #develinc1-msg        "C-language includes...")
  73. (set #develinc2-msg        "Assembly language includes...")
  74. (set #develinc3-msg        "LVOs.i (needed for Assembly examples)")
  75. (set #develinc4-msg        "FD files (Basic...)")
  76.  
  77. (set #develcinc-msg        "Create pragma files for...")
  78. (set #develcinc1-msg    "SAS-C")
  79. (set #develcinc2-msg    "DICE-C")
  80. (set #develcinc3-msg    "Aztec-C")
  81. (set #develcinc4-msg    "Maxon-C")
  82.  
  83. (set #develasminc-msg    "Create Assembly function files for...")
  84. (set #develasminc1-msg    "Misc Assemblers (LIBINIT, LIBDEF macros)")
  85. (set #develasminc2-msg    "Aztec Asm (XDEF, EQU)")
  86.  
  87. (set #develex-msg        "Select which example(s) to install")
  88. (set #develex1-msg        "Demonstration of a bug in GadTools (Asm)")
  89. (set #develex2-msg        "Starter project for localized prog (Asm)")
  90. (set #develex3-msg        "Test program for GadTools hotkeys, loc (Asm)")
  91. (set #develex4-msg        "Bevelbox examples (Asm)")
  92. (set #develex5-msg        "Code to change internal test to external (Asm)")
  93. (set #develex6-msg        "Test program for listview functions (Asm)")
  94.  
  95. (set #develex7-msg        "The very first external test program (Asm)")
  96. (set #develex8-msg        "The first internal test program, loc (Asm)")
  97. (set #develex9-msg        "Three old test programs (Asm)")
  98. (set #develexA-msg        "Three gadgets with border around them (Asm)")
  99. (set #develexB-msg        "Test program for GadTools hotkeys, loc (C)")
  100.  
  101. (set #develcat-msg        "Select which catalog creator(s) to install")
  102. (set #develcat1-msg        "FlexCat 1.4")
  103. (set #develcat2-msg        "English documentation for FlexCat 1.4")
  104. (set #develcat3-msg        "Quick usage instructions for FlexCat 1.4")
  105. (set #develcat4-msg        "C source description file (Lattice/SAS-C)")
  106. (set #develcat5-msg        "Asm source description file (Asm-One 1.25)")
  107.  
  108. (set #develcmd-msg        "Select which extra command(s) to install")
  109. (set #develcmd1-msg        "AskEnv 2.5 (Create GUI's for DOS scripts)")
  110. (set #develcmd2-msg        "FD2Pragma (Create C pragma files from .FD)")
  111. (set #develcmd3-msg        "XIcon 2.5 (run DOS scripts from Workbench)")
  112.  
  113. (set #develoth-msg        "Other thing(s) you may want to install")
  114. (set #develoth1-msg        "Debug version of library (gadutil.library_dbg)")
  115. (set #develoth2-msg        "Include file editor/installer/remover")
  116. (set #develoth3-msg        "Distribution archiver (creates acrhive on ram:)")
  117. (set #develoth4-msg        "The Installer script")
  118. (set #develoth5-msg        "All of the library's source code :-)")
  119. (set #develoth6-msg        "Unfinished routines for the library")
  120.  
  121. (set #maindir-msg  (cat    "Where do you wish to install GadUtil related\n"
  122.                         "files? The Installer will NOT create a new\n"
  123.                         "drawer at the selected location."))
  124.  
  125. (set #sellocfor-msg        "Please select a location for")
  126. (set #docdir-msg        ("%s all documentation" #sellocfor-msg))
  127. (set #cincdir-msg        ("%s 'C' include files" #sellocfor-msg))
  128. (set #asmincdir-msg        ("%s Assembly include files" #sellocfor-msg))
  129. (set #LVOSidir-msg        ("%s the LVOs.i file" #sellocfor-msg))
  130. (set #FDdir-msg            ("%s the .FD file" #sellocfor-msg))
  131. (set #exampledir-msg    ("%s example sources" #sellocfor-msg))
  132. (set #catutdir-msg        ("%s catalog utilities" #sellocfor-msg))
  133. (set #extcmddir-msg        ("%s extra commands" #sellocfor-msg))
  134.  
  135. (set #debuglib-msg (cat "\nYou have selected to install another version\n"
  136.                         "of GadUtil.library, that contains some extra\n"
  137.                         "code for debugging. This version can be used\n"
  138.                         "to trace problems while starting up applications\n"
  139.                         "that uses gadutil.library.\n\n"
  140.                         "To use the 'debug' version, rename the original\n"
  141.                         "library to something else, and rename the 'debug'\n"
  142.                         "version to 'gadutil.library'. Type 'avail flush'\n"
  143.                         "in Shell to remove the normal library from memory.\n"
  144.                         "You may have to reboot to remove the library from\n"
  145.                         "memory. Start the program and read...\n"))
  146.  
  147. (set #libinst-msg        "Installing gadutil.library.")
  148. (set #debuglibinst-msg    "Installing gadutil.library (debug version).")
  149.  
  150. (set #obtainsrc-msg    (cat "\nIt seems like you're not a developer of this\n"
  151.                         "project. If you really need the source for this\n"
  152.                         "library, send both authors of the project at least\n"
  153.                         "$1.000.000 or anything equal in another currency.\n\n"
  154.                         "Don't forget to supply an empty diskette, and a SAE\n"
  155.                         "with stamps enough to cover postage expenses.\n\n"
  156.                         "Per-Olof Yliniemi            Staffan Hämälä\n"
  157.                         "Box 78                       Pellovägen 268\n"
  158.                         "S-980 61 Tärendö             S-957 93 Pello\n"
  159.                         "SWEDEN                       SWEDEN        \n"))
  160.  
  161. ;----------- Copy source file to destination w/ version check --------------
  162. ;
  163. ; Inputs:    .file1 - The file to install (source file)
  164. ;            .file2 - The destination directory
  165. ;
  166. (procedure safecopy
  167.     (set .vernum1 (getversion .file1))
  168.     (set .ver1 (/ .vernum1 65536))
  169.     (set .rev1 (- .vernum1 (* .ver1 65536)))
  170.  
  171.     (set .vernum2 (getversion (tackon .file2 (fileonly .file1))))
  172.     (set .ver2 (/ .vernum2 65536))
  173.     (set .rev2 (- .vernum2 (* .ver2 65536)))
  174.  
  175.     (if (<> .vernum1 .vernum2)
  176.     (if (> .vernum1 .vernum2)
  177.         (copyfiles
  178.             (source .file1) (dest .file2)
  179.         )
  180.  
  181.         ( (if (= @user-level 2)
  182.             (if (askbool
  183.                 (prompt (cat ("Installing %s.\n\n" (fileonly .file1))
  184.                     ("Version to install: %ld.%ld\n" .ver1 .rev1)
  185.                     ("Version currently installed: %ld.%ld\n\n" .ver2 .rev2)
  186.                      "Destination Drawer to Copy to:\n"
  187.                      .file2))
  188.                 (choices "Proceed with Copy" "Skip This Part")
  189.                 (default 0)
  190.                 (help    (cat "The Installer has detected that a later version\n"
  191.                     "of the file that is going to be copied already\n"
  192.                     "exists at the selected destination.\n\n"
  193.                     "Select \"Proceed with Copy\" to replace the newer\n"
  194.                     "file with an older one. Select \"Skip This Part\"\n"
  195.                     "to keep the installed version.\n"))
  196.                 )
  197.                 (copyfiles
  198.                     (source .file1) (dest .file2)
  199.                 )
  200.             )
  201.         ))
  202.     ))
  203. )
  204.  
  205. ;-------------------- Installation script begins here ----------------------
  206. (set olduserlevel @user-level)
  207. (user 2)
  208. (transcript #install-msg)
  209. (message #info-msg)
  210. (message #usertype-msg)
  211.  
  212. ;--------------------------------- Get user type ---------------------------
  213. (if (= olduserlevel 0)
  214.     (set usertype
  215.         (askchoice
  216.             (prompt #selusertype-msg)
  217.             (help @askchoice-help)
  218.             (choices    #usertype1-msg
  219.                         #usertype2-msg
  220.             )
  221.         )
  222.     )
  223.  
  224.     (set usertype
  225.         (askchoice
  226.             (prompt #selusertype-msg)
  227.             (help @askchoice-help)
  228.             (choices    #usertype1-msg
  229.                         #usertype2-msg
  230.                         #usertype3-msg
  231.                         #usertype4-msg
  232.                         #usertype5-msg
  233.                         #usertype6-msg
  234.             )
  235.         )
  236.     )
  237. )
  238. ;------------------ Set default settings for user-types --------------------
  239.  
  240. (set def_installtype (select usertype  %01  %01  %11  %11  %11  %11))
  241. (set def_userinstall (select usertype %001 %111 %111 %111 %111 %111))
  242. (set def_develinstall (select usertype  %000000 %000000 %111111
  243.                                         %111111 %111111 %111111))
  244. (set def_develdocs (select usertype %0000000 %0000000 %0010010
  245.                                     %0010010 %0010010 %1111111))
  246. (set def_develinc (select usertype %0000 %0000 %0110 %1001 %1111 %1111))
  247. (set def_develex1 (select usertype    %000000 %000000 %101110
  248.                                     %000000 %101110 %111111))
  249. (set def_develex2 (select usertype %00000 %00000 %01000 %10000 %11000 %11111))
  250.  
  251. (set def_develcat (select usertype %00000 %00000 %10111 %01111 %11111 %11111))
  252. (set def_develcmd (select usertype %000 %000 %001 %011 %011 %111))
  253. (set def_develoth (select usertype    %000000 %000000 %000011
  254.                                     %000011 %000011 %001111))
  255.  
  256. (user olduserlevel)
  257. ;--------------------------- Check type of installation --------------------
  258. (set installtype
  259.     (askoptions
  260.         (prompt #whatinstall-msg)
  261.         (help    @askoptions-help)
  262.         (choices    #userpart-msg
  263.                     #develpart-msg
  264.         )
  265.         (default def_installtype)
  266. ;        (default (- 2 (> thisvernum vernum)))
  267.     )
  268. )
  269.  
  270. (if (= installtype 0)
  271.     (message "So, you didn't want to install GadUtil yet...\nLater maybe???")
  272. )
  273.  
  274. ;-------------------------- Get options for user install -------------------
  275. (if (IN installtype 0)
  276.     (set userinstall
  277.         (askoptions
  278.             (prompt #useroptions-msg)
  279.             (help    @askoptions-help)
  280.             (choices    #useroption1-msg
  281.                         #useroption2-msg
  282.                         #useroption3-msg
  283.             )
  284.             (default def_userinstall)
  285.         )
  286.     )
  287. )
  288.  
  289. ;---------------------- Get options for developer install ------------------
  290. (if (IN installtype 1)
  291.     (set develinstall
  292.         (askoptions
  293.             (prompt #developtions-msg)
  294.             (help    @askoptions-help)
  295.             (choices    #develoption1-msg
  296.                         #develoption2-msg
  297.                         #develoption3-msg
  298.                         #develoption4-msg
  299.                         #develoption5-msg
  300.                         #develoption6-msg
  301.             )
  302.             (default def_develinstall)
  303.         )
  304.     )
  305. )
  306.  
  307. ;-------------------- Check which devel docs to install --------------------
  308. (if (IN develinstall 0)
  309.     (set develdocs
  310.         (askoptions
  311.             (prompt #develdocs-msg)
  312.             (help    @askoptions-help)
  313.             (choices    #develdocs1-msg
  314.                         #develdocs2-msg
  315.                         #develdocs3-msg
  316.                         #develdocs4-msg
  317.                         #develdocs5-msg
  318.                         #develdocs6-msg
  319.                         #develdocs7-msg
  320.             )
  321.             (default def_develdocs)
  322.         )
  323.     )
  324. )
  325.  
  326. ;--------------------- Check which includes to install ---------------------
  327. (if (IN develinstall 1)
  328.     (set develinc
  329.         (askoptions
  330.             (prompt #develinc-msg)
  331.             (help    @askoptions-help)
  332.             (choices    #develinc1-msg
  333.                         #develinc2-msg
  334.                         #develinc3-msg
  335.                         #develinc4-msg
  336.             )
  337.             (default def_develinc)
  338.         )
  339.     )
  340. )
  341.  
  342. ;-------------------- Check which C includes to create ---------------------
  343. (if (IN develinc 0)
  344.     (set cinc
  345.         (askchoice
  346.             (prompt #develcinc-msg)
  347.             (help    @askchoice-help)
  348.             (choices    #develcinc1-msg
  349.                         #develcinc2-msg
  350.                         #develcinc3-msg
  351.                         #develcinc4-msg
  352.             )
  353.         )
  354.     )
  355. )
  356.  
  357. ;------------------- Check which Asm includes to create --------------------
  358. (if (IN develinc 1)
  359.     (set asminc
  360.         (askchoice
  361.             (prompt #develasminc-msg)
  362.             (help    @askchoice-help)
  363.             (choices    #develasminc1-msg
  364.                         #develasminc2-msg
  365.             )
  366.         )
  367.     )
  368. )
  369.  
  370. ;-------------------- Check which examples to install ----------------------
  371. (if (IN develinstall 2)(
  372.     (set develex1
  373.         (askoptions
  374.             (prompt #develex-msg)
  375.             (help    @askoptions-help)
  376.             (choices    #develex1-msg
  377.                         #develex2-msg
  378.                         #develex3-msg
  379.                         #develex4-msg
  380.                         #develex5-msg
  381.                         #develex6-msg
  382.             )
  383.             (default def_develex1)
  384.         )
  385.     )
  386.  
  387.     (set develex2
  388.         (askoptions
  389.             (prompt #develex-msg)
  390.             (help    @askoptions-help)
  391.             (choices    #develex7-msg
  392.                         #develex8-msg
  393.                         #develex9-msg
  394.                         #develexA-msg
  395.                         #develexB-msg
  396.             )
  397.             (default def_develex2)
  398.         )
  399.     )
  400. ))
  401.  
  402. ;---------------- Check which catalog utilities to install -----------------
  403. (if (IN develinstall 3)
  404.     (set develcat
  405.         (askoptions
  406.             (prompt #develcat-msg)
  407.             (help    @askoptions-help)
  408.             (choices    #develcat1-msg
  409.                         #develcat2-msg
  410.                         #develcat3-msg
  411.                         #develcat4-msg
  412.                         #develcat5-msg
  413.             )
  414.             (default def_develcat)
  415.         )
  416.     )
  417. )
  418.  
  419. ;------------------ Check which extra commands to install ------------------
  420. (if (IN develinstall 4)
  421.     (set develcmd
  422.         (askoptions
  423.             (prompt #develcmd-msg)
  424.             (help    @askoptions-help)
  425.             (choices    #develcmd1-msg
  426.                         #develcmd2-msg
  427.                         #develcmd3-msg
  428.             )
  429.             (default def_develcmd)
  430.         )
  431.     )
  432. )
  433.  
  434. ;------------------- Check which other files to install --------------------
  435. (if (IN develinstall 5)
  436.     (set develoth
  437.         (askoptions
  438.             (prompt #develoth-msg)
  439.             (help    @askoptions-help)
  440.             (choices    #develoth1-msg
  441.                         #develoth2-msg
  442.                         #develoth3-msg
  443.                         #develoth4-msg
  444.                         #develoth5-msg
  445.                         #develoth6-msg
  446.             )
  447.             (default def_develoth)
  448.         )
  449.     )
  450. )
  451.  
  452. ;-------------------------- Create main directory --------------------------
  453. (if (OR
  454.         (AND (IN installtype 0) (IN userinstall 1 2))
  455.         (AND (IN installtype 1) (OR    (<> develdocs 0)
  456.                                     (OR (<> develex1 0) (<> develex2 0))
  457.                                     (<> develcat 0)
  458.                                     (> develoth 1)
  459.                                 )
  460.         )
  461.     )
  462.  
  463.     (
  464.         (set destdir
  465.             (askdir
  466.                 (prompt #maindir-msg)
  467.                 (help @askdir-help)
  468.                 (default @default-dest)
  469.             )
  470.         )
  471.         (if (= @user-level 0) (set destdir (tackon destdir "GadUtil")))
  472.  
  473.         (if (<> (substr destdir (- (strlen destdir) 1)) ":")
  474.             (makedir destdir (infos))
  475.         )
  476.  
  477.         (set @default-dest destdir)
  478.     )
  479. )
  480.  
  481. ;-------------------------- Create docs directory --------------------------
  482. (if (AND (<> installtype 0) (OR (> userinstall 1)(<> develdocs 0)))
  483.     (
  484.         (set docdir
  485.             (askdir
  486.                 (prompt #docdir-msg)
  487.                 (help @askdir-help)
  488.                 (newpath)
  489.                 (default (tackon destdir "Docs"))
  490.             )
  491.         )
  492.         (makedir docdir (infos))
  493.     )
  494. )
  495.  
  496. ;-------------------------- Do user installation ---------------------------
  497. (if (IN userinstall 0)
  498.        (copylib
  499.         (prompt #libinst-msg)
  500.            (help @copylib-help)
  501.            (source "libs/gadutil.library")
  502.            (dest "libs:")
  503.            (confirm)
  504.     )
  505. )
  506.  
  507. (if (IN userinstall 1)
  508.     (
  509.         (copyfiles (source "docs/GadUtil.manual")
  510.             (dest docdir)
  511.         )
  512.         (copyfiles (source "icons/def_doc.info")
  513.             (dest docdir) (newname "GadUtil.manual.info")
  514.         )
  515.     )
  516. )
  517.  
  518. (if (IN userinstall 2)
  519.     (
  520.         (copyfiles (source "docs/GUtilInfo.txt")
  521.             (dest docdir)
  522.         )
  523.         (copyfiles (source "icons/def_doc.info")
  524.             (dest docdir) (newname "GUtilInfo.txt.info")
  525.         )
  526.     )
  527. )
  528.     
  529. ;----------------- Install selected developer documents --------------------
  530. (if (IN develdocs 0)
  531.     (
  532.         (copyfiles (source "Docs/GadUtil.doc") (dest docdir) )
  533.         (copyfiles (source "icons/def_doc.info") (dest docdir)
  534.             (newname "GadUtil.doc.info")
  535.         )
  536.     )
  537. )
  538.  
  539. (if (IN develdocs 1)
  540.     (
  541.         (copyfiles (source "Docs/GadUtil.guide") (dest docdir) )
  542.         (copyfiles (source "icons/def_guide.info") (dest docdir)
  543.             (newname "GadUtil.guide.info")
  544.         )
  545.     )
  546. )
  547.  
  548. (if (IN develdocs 2)
  549.     (
  550.         (copyfiles (source "Docs/PrivateFunctions") (dest docdir) )
  551.         (copyfiles (source "icons/def_doc.info") (dest docdir)
  552.             (newname "PrivateFunctions.info")
  553.         )
  554.     )
  555. )
  556.  
  557. (if (IN develdocs 3)
  558.     (copyfiles (source "Docs/AutoDocs") (dest (tackon docdir "AutoDocs")) (all) (infos))
  559. )
  560.  
  561. (if (IN develdocs 4)
  562.     (
  563.         (copyfiles (source "Docs/dev_history.guide") (dest docdir) )
  564.         (copyfiles (source "icons/def_guide.info") (dest docdir)
  565.             (newname "dev_history.guide.info")
  566.         )
  567.     )
  568. )
  569.  
  570. (if (IN develdocs 5)
  571.     (
  572.         (copyfiles (source "Docs/dev_historia.guide") (dest docdir) )
  573.         (copyfiles (source "icons/def_guide.info") (dest docdir)
  574.             (newname "dev_historia.guide.info")
  575.         )
  576.     )
  577. )
  578.  
  579. (if (IN develdocs 6)
  580.     (
  581.         (copyfiles (source "Docs/gadtools.tags") (dest docdir) )
  582.         (copyfiles (source "icons/def_doc.info") (dest docdir)
  583.             (newname "gadtools.tags.info")
  584.         )
  585.     )
  586. )
  587.  
  588. ;-------------------- Install all selected include files -------------------
  589. (if (AND (> installtype 1) (<> develinc 0))
  590.     (    (    (    (
  591.         (if (IN develinc 0)
  592.             ((set cincdir
  593.                 (askdir
  594.                     (prompt #cincdir-msg)
  595.                     (help @askdir-help)
  596.                     (newpath)
  597.                     (default "include:")
  598.                 )
  599.             )
  600.  
  601.             ((set .file1 "include/clib/gadutil_protos.h")
  602.             (set .file2 (tackon cincdir "clib"))
  603.             (safecopy))
  604.  
  605.             ((set .file1 "include/libraries/gadutil.h")
  606.             (set .file2    (tackon cincdir "libraries"))
  607.             (safecopy))
  608.  
  609.             (copyfiles
  610.                 (source "include/proto/gadutil.h")
  611.                 (dest (tackon cincdir "proto"))
  612.             )
  613.  
  614.             (set ccomp (select cinc "SAS" "DICE" "Aztec" "Maxon"))
  615.             (if (= ccomp "Aztec")
  616.                 (set pragmaname "pragmas/gadutil_lib.h")
  617.                 (set pragmaname "pragmas/gadutil_pragmas.h")
  618.             )
  619.  
  620.             (makedir (tackon cincdir "pragmas"))
  621.  
  622.             (run (cat "ExtraCmds/fd2pragma include/FD/gadutil_lib.fd "
  623.                             ccomp ' "' (tackon cincdir pragmaname) '"'))
  624.         ))
  625.  
  626.         (if (IN develinc 1)
  627.             (    (if (<> cincdir 0)
  628.                     (set defasminc cincdir)
  629.                     (set defasminc "include:")
  630.                 )
  631.                 (set asmincdir
  632.                     (askdir
  633.                         (prompt #asmincdir-msg)
  634.                         (help @askdir-help)
  635.                         (newpath)
  636.                         (default defasminc)
  637.                     )
  638.                 )
  639.  
  640.                 ((set .file1 "include/libraries/gadutil.i") 
  641.                 (set .file2 (tackon asmincdir "libraries"))
  642.                 (safecopy))
  643.  
  644.                 (if (= asminc 0)
  645.                     ((set .file1 "include/libraries/gadutil_lib.i")
  646.                     (set .file2 (tackon asmincdir "libraries"))
  647.                     (safecopy))
  648.                     (
  649.                         (run (cat "ExtraCmds/fd2pragma include/FD/gadutil_lib.fd "
  650.                             'AS "' (tackon asmincdir "libraries/gadutil_lib.asm") '"'))
  651.                     )
  652.                 )
  653.  
  654.             )
  655.         ))
  656.  
  657.         (if (IN develinc 2)
  658.             (    (if (<> asmincdir 0)
  659.                     (set deflvodir asmincdir)
  660.                     (set deflvodir "include:")
  661.                 )
  662.                 (set LVOSidir
  663.                     (askdir
  664.                         (prompt #LVOSidir-msg)
  665.                         (help @askdir-help)
  666.                         (newpath)
  667.                         (default deflvodir)
  668.                     )
  669.                 )
  670.  
  671.                 ((set .file1 "include/LVOs.i")
  672.                 (set .file2 LVOSidir)
  673.                 (safecopy))
  674.             )
  675.         ))
  676.  
  677.         (if (IN develinc 3)
  678.             (    (set FDdir
  679.                     (askdir
  680.                         (prompt #FDdir-msg)
  681.                         (help @askdir-help)
  682.                         (newpath)
  683.                         (default "FD:")
  684.                     )
  685.                 )
  686.                 ((set .file1 "include/FD/gadutil_lib.fd")
  687.                 (set .file2 FDdir)
  688.                 (safecopy))
  689.             )
  690.         ))
  691.     )
  692. )
  693.  
  694. ;----------------------- Create directory for examples ---------------------
  695. (if (OR (<> develex1 0) (<> develex2 0))
  696.     (
  697.         (set exampledir
  698.             (askdir
  699.                 (prompt #exampledir-msg)
  700.                 (help @askdir-help)
  701.                 (newpath)
  702.                 (default (tackon destdir "Examples"))
  703.             )
  704.         )
  705.         (makedir exampledir (infos))
  706.     )
  707. )
  708.  
  709. ;------------------------- Install selected examples -----------------------
  710. (if (IN develex1 0)
  711.     (copyfiles
  712.         (source "Examples/- GadToolsBug.s -")
  713.         (dest exampledir)
  714.     )
  715. )
  716.  
  717. (if (IN develex1 1)
  718.     (copyfiles
  719.         (source "Examples/AnyProgram")
  720.         (dest (tackon exampledir "AnyProgram"))
  721.         (all)(infos)
  722.     )
  723. )
  724.  
  725. (if (IN develex1 2)
  726.     (copyfiles
  727.         (source "Examples/BetterTest")
  728.         (dest (tackon exampledir "BetterTest"))
  729.         (all) (infos)
  730.     )
  731. )
  732.  
  733. (if (IN develex1 3)
  734.     (copyfiles
  735.         (source "Examples/BevelTest.s")
  736.         (dest exampledir)
  737.     )
  738. )
  739.  
  740. (if (IN develex1 4)
  741.     (copyfiles
  742.         (source "Examples/ExternTestInit.s")
  743.         (dest exampledir)
  744.     )
  745. )
  746.  
  747. (if (IN develex1 5)
  748.     (copyfiles
  749.         (source "Examples/LVTest.s")
  750.         (dest exampledir)
  751.     )
  752. )
  753.  
  754. (if (IN develex2 0)
  755.     (copyfiles
  756.         (source "Examples/mytestprog.s")
  757.         (dest exampledir)
  758.     )
  759. )
  760.  
  761. (if (IN develex2 1)
  762.     (copyfiles
  763.         (source "Examples/OldInternal")
  764.         (dest (tackon exampledir "OldInternal"))
  765.         (all)(infos)
  766.     )
  767. )
  768.  
  769. (if (IN develex2 2)
  770.     (copyfiles
  771.         (source "Examples/OldTestProgs")
  772.         (dest (tackon exampledir "OldTestProgs"))
  773.         (all) (infos)
  774.     )
  775. )
  776.  
  777. (if (IN develex2 3)
  778.     (copyfiles
  779.         (source "Examples/ThreeGadgets.s")
  780.         (dest exampledir)
  781.     )
  782. )
  783.  
  784. (if (IN develex2 4)
  785.     (copyfiles
  786.         (source "Examples/BetterTest-C")
  787.         (dest (tackon exampledir "BetterTest-C"))
  788.         (all) (infos)
  789.     )
  790. )
  791.  
  792. ;----------------- Create directory for catalog utilities ------------------
  793. (if (<> develcat 0)
  794.     (
  795.         (set catutdir
  796.             (askdir
  797.                 (prompt #catutdir-msg)
  798.                 (help @askdir-help)
  799.                 (newpath)
  800.                 (default (tackon destdir "CatalogUtils"))
  801.             )
  802.         )
  803.         (makedir catutdir (infos))
  804.     )
  805. )
  806.  
  807. ;-------------------- Install selected catalog utilities -------------------
  808. (if (IN develcat 0)
  809.     (copyfiles
  810.         (source "CatalogUtils/FlexCat")
  811.         (dest catutdir)
  812.     )
  813. )
  814.  
  815. (if (IN develcat 1)
  816.     (    (copyfiles
  817.             (source "CatalogUtils/FlexCat_Eng.guide")
  818.             (dest catutdir)
  819.         )
  820.         (copyfiles
  821.             (source "icons/def_guide.info")
  822.             (dest catutdir) (newname "FlexCat_Eng.guide.info")
  823.     )    )
  824. )
  825.  
  826. (if (IN develcat 2)
  827.     (    (copyfiles
  828.             (source "CatalogUtils/FlexCat_Quick.doc")
  829.             (dest catutdir)
  830.         )
  831.         (copyfiles
  832.             (source "icons/def_doc.info")
  833.             (dest catutdir) (newname "FlexCat_Quick.doc.info")
  834.     )    )
  835. )
  836.  
  837. (if (IN develcat 3)
  838.     (copyfiles
  839.         (source "CatalogUtils/Lattice_Data.sd")
  840.         (dest catutdir)
  841.     )
  842. )
  843.  
  844. (if (IN develcat 4)
  845.     (copyfiles
  846.         (source "CatalogUtils/ASM-One_Data.sd")
  847.         (dest catutdir)
  848.     )
  849. )
  850.  
  851. ;------------------ Create directory for extra commands --------------------
  852. (if (<> develcmd 0)
  853.     (
  854.         (set extcmddir
  855.             (askdir
  856.                 (prompt #extcmddir-msg)
  857.                 (help @askdir-help)
  858.                 (newpath)
  859.                 (default "C:")
  860.             )
  861.         )
  862.         (if (<> (exists extcmddir) 2)
  863.             (makedir extcmddir (infos))
  864.         )
  865.     )
  866. )
  867.  
  868. ;---------------------- Install selected extra commands --------------------
  869. (if (IN develcmd 0)
  870.     (copyfiles
  871.         (source "ExtraCmds/AskEnv")
  872.         (dest extcmddir)
  873.     )
  874. )
  875.  
  876. (if (IN develcmd 1)
  877.     (    (copyfiles
  878.             (source "ExtraCmds/FD2Pragma")
  879.             (dest extcmddir)
  880.         )
  881.         (copyfiles
  882.             (prompt #sellocfor-msg)
  883.             (source "ExtraCmds/FD2Pragma.readme")
  884.             (dest extcmddir)
  885.             (confirm) (help @copyfiles-help)
  886.         )
  887.     )
  888. )
  889.  
  890. (if (IN develcmd 2)
  891.     (copyfiles
  892.         (source "ExtraCmds/XIcon")
  893.         (dest extcmddir)
  894.     )
  895. )
  896.  
  897. ;--------------------- Install debug version of library --------------------
  898. (if (IN develoth 0)
  899.     (
  900.         (message #debuglib-msg)
  901.         (copylib
  902.             (prompt #debuglibinst-msg)
  903.             (help @copylib-help)
  904.             (source "libs/gadutil.library_dbg")
  905.             (dest "libs:")
  906.             (confirm)
  907.         )
  908.     )
  909. )
  910.  
  911. (if (IN develoth 1)
  912.     (    (copyfiles
  913.             (source "InstallInc.info")
  914.             (dest destdir)
  915.         )
  916.         (copyfiles
  917.             (source "install.script")
  918.             (dest destdir)
  919.         )
  920.         (copyfiles
  921.             (source "InstallInc.gad")
  922.             (dest destdir)
  923.         )
  924.     )
  925. )
  926.  
  927. (if (IN develoth 2)
  928.     (copyfiles
  929.         (source "- MakeArchive -.info")
  930.         (dest destdir)
  931.     )
  932. )
  933.  
  934. (if (IN develoth 3)
  935.     (copyfiles
  936.         (source "Install") (infos)
  937.         (dest destdir)
  938.     )
  939. )
  940.  
  941. (if (IN develoth 4)
  942.     (    (if (exists "GadUtilLib.s")
  943.             ((set .file1 "GadUtilLib.s")
  944.             (set .file2 destdir)
  945.             (safecopy))
  946.             (message #obtainsrc-msg)
  947.         )
  948.     )
  949. )
  950.  
  951. (if (IN develoth 5)
  952.     (
  953.         (if (exists "GU_DrawBevelBoxA.s")
  954.             (copyfiles
  955.                 (source "GU_DrawBevelBoxA.s")
  956.                 (dest destdir)
  957.             )
  958.             (message #obtainsrc-msg)
  959.         )
  960.     )
  961. )
  962.  
  963. ;--------------------------------- Done ------------------------------------
  964. (exit)
  965.